package com.ruoyi.system.service;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Person;
import com.ruoyi.system.domain.vo.PersonVo;
import com.ruoyi.system.domain.vo.checkExcelVo;

/**
 * personService接口
 *
 * @author ruoyi
 * @date 2022-04-16
 */
public interface IPersonService {
    /**
     * 查询person
     *
     * @param personId person主键
     * @return person
     */
    public Person selectPersonByPersonId(Long personId) throws ParseException;

    /**
     * 查询person列表
     *
     * @param person person
     * @return person集合
     */
    public List<Person> selectPersonList(Person person);

    /**
     * 新增person
     * pc
     *
     * @param person person
     * @return 结果
     */
    public int insertPerson(Person person);

    /**
     * 新增person
     * 小程序
     *
     * @param person person
     * @return 结果
     */
    public int insertPersonXcx(Person person);

    /**
     * 修改person
     *
     * @param person person
     * @return 结果
     */
    public int updatePerson(Person person);

    /**
     * 批量删除person
     *
     * @return 结果
     */
    public int deletePersonByPersonIds(Person person);


    /**
     * 清空表
     *
     * @return 结果
     */
    public int truncateTable( );



    /**
     * 删除person信息
     *
     * @param personId person主键
     * @return 结果
     */
    public int deletePersonByPersonId(Long personId);


    /**
     * 导入疫情数据
     *
     * @param personList      疫情信息
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @return 结果
     */
    public String imporPerson(List<PersonVo> personList, Boolean isUpdateSupport);

    /**
     * 身份证号校验
     *
     * @param person
     * @return 结果
     */
    public List<Person> SelectCarid(Person person);


    /**
     * 导入疫情数据
     *
     * @param personList      疫情信息
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @return 结果
     */
    public List<checkExcelVo> checkExcel(List<PersonVo> personList, Boolean isUpdateSupport);

    /**
     * 查询总人数
     *
     * @return person集合
     */
    public Integer selectPersonCount(Long deptId);

}
